page.tsx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. "use client";
  2. import { FC, PropsWithChildren, useState } from "react";
  3. import { useRouter } from "@/i18n";
  4. import HeaderBack from "@/components/HeaderBack";
  5. import GoogleCom from "./component/GoogleCom";
  6. import FromCom from "./component/FromCom";
  7. import DomainFooter from "@/components/DomainFooter";
  8. import './page.scss'
  9. import {getLoginApi} from "@/api/user";
  10. import { useGlobalStore } from '@/stores';
  11. interface Props {}
  12. const Login: FC<PropsWithChildren<Props>> = () => {
  13. const { setToken, setUserInfo } = useGlobalStore();
  14. const router:any = useRouter()
  15. const [msgError, setMsgError] = useState('')
  16. const loginRequest = async ({userPhone, pwd}: any) => {
  17. let params = {user_phone: userPhone, pwd}
  18. let res = await getLoginApi(params)
  19. if(res.code == 200) {
  20. alert('登录成功')
  21. setUserInfo({...res.data, user_phone: userPhone})
  22. setToken(res.data.token)
  23. router.replace('/')
  24. }
  25. setMsgError(res.msg || '')
  26. }
  27. return (
  28. <div className="login-box">
  29. <HeaderBack />
  30. <GoogleCom />
  31. <FromCom callbackFun={loginRequest} msgError={msgError}/>
  32. <DomainFooter />
  33. </div>
  34. );
  35. };
  36. export default Login;